/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package batailledesardennes.game.entity;

import batailledesardennes.game.GameEnv;
import batailledesardennes.util.geomFloat.Point;
import batailledesardennes.util.geomFloat.Rectangle;
import batailledesardennes.util.geomFloat.Shape;
import org.newdawn.slick.Graphics;

/**
 *
 * @author charly
 */
public interface Entity {
   void register(GameEnv env);

   void unregister();

   Rectangle getBounds();

   int getEntityId();

   int getEntityTypeId();

   GameEnv getEnv();

   Point getPos();

   boolean isSelectable();

   boolean isSelected();

   void setSelectable(boolean selectable);

   void setSelected(boolean selected);

   boolean isDrawable();

   void draw(Graphics g);

   boolean isCollidable();

   void setEntityId(int entityId);

   void setEntityTypeId(int entityTypeId);
}
